package tests;

import modele.articles.Article;
import modele.articles.Element;
import junit.framework.TestCase;

public class TestsArticle extends TestCase 
{
	public void testAjouts()
	{
		Article article = Article.getInstance();
		
		//bonsoir le tout le monde ...

		//article.ajouter("bonjour je m'appelle Gilles", 0);
		article.ajouter("le cercle dont le centre est nul", 0);
		//ajout simple dans un mot
		//article.ajouter("tte",26);
		//ajout de plusieurs mots
		//article.ajouter("tout le monde ",8);
		//ajout dans un mot de plusieurs mots
		//article.ajouter("soir le ",3);
		//suppression dans le mot
		//article.supprimer(2, 4);
		//suppression de plusieurs mots
		//article.supprimer(10, 15);
		//suppression de plusieurs mot et fusion
		//article.supprimer(2, 21);
		
		afficherElements(article.getElementRacine());
		
		Element element = article.getElementRacine();
		assertNull(element.getElementPrecedent());
		assertEquals("bonjour", element.getValeur());
		
		element = element.getElementSuivant();
		assertEquals(" ", element.getValeur());
		
		element = element.getElementSuivant();
		assertEquals("je", element.getValeur());

		element = element.getElementSuivant();
		assertEquals(" ", element.getValeur());

		element = element.getElementSuivant();
		assertEquals("m", element.getValeur());

		element = element.getElementSuivant();
		assertEquals("'", element.getValeur());

		element = element.getElementSuivant();
		assertEquals("appelle", element.getValeur());

		element = element.getElementSuivant();
		assertEquals(" ", element.getValeur());

		element = element.getElementSuivant();
		assertEquals("Gilles", element.getValeur());
		
		assertNull(element.getElementSuivant());
		
	}
	
	private void afficherElements(Element debut)
	{
		while (debut.getElementSuivant() != null)
		{
			System.out.println(debut);
			debut = debut.getElementSuivant();
		}
		System.out.println(debut);
	}
}
